package com.deyuanyun.pic.pbf.mapper;

import com.deyuanyun.pic.pbf.domain.ExternalInspectionVo;
import com.deyuanyun.pic.pbf.domain.PipeBodyDefect;
import com.deyuanyun.pic.pbf.domain.PipeBodyDefectExample;
import com.deyuanyun.pic.pipe.domain.Gww;
import com.deyuanyun.pic.pipe.domain.Identification;
import org.apache.ibatis.annotations.Param;

import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

/**
 * 非内检数据mapper
 * @author lijun
 * @date 2016-06-08
 *
 * History: [修改人][时间][修改描述]
 */
public interface ExternalInspectionMapper {
    /**
     * 根据条件查询记录集(包括详情）
     *
     * @param id:非内检缺陷数据id
     *        lineId:管道ID
     *        segmentId:管段ID
     *        begin:起点位置
     *        end:终点位置
     *        beginTime--endTime :发现时间
     *        dataState:缺陷状态
     *        defectSource:缺陷来源
     * @return Map<String,Object> 集合
     */
    List<ExternalInspectionVo> queryData(Map param);

    /**
     * 根据条件导出记录集为excel(包括详情）
     *
     * @param param
     * @return
     */
    List<LinkedHashMap<String, Object>> queryDataExport(Map param);

    /**
     * 统计缺陷状态为'待审核'的非内检缺陷
     *
     * @param 查询条件
     * @return 待审核缺陷数
     * @throws
     */

    int queryCountByState(Map param);

    /**
     * 删除数据状态为'待审核'或'审核不通过'的缺陷数据（假删除）
     *
     * @param defect 需要删除的非内检缺陷
     * @return
     */
    int updateToDeleteById(PipeBodyDefect defect);

    /**
     * 根据修复方法id查询对应维修表名
     * @param
     * @return
     * @throws
     *
     */
    String  queryRepiarTabById(@Param("repiarId") String repiarId);

    /**
     * 非内检统计
     * @param param
     * @return
     */
     List<Map<String, Object>> queryOtherInspection(Map<String, Object> param);
}